[c]若要对a进行--运算,则a应具有下面说明?

来源:百度知道 编辑:UC知道 时间:2024/06/03 11:46:01
A.int p[3];int *a=p;
B.int k;int *a=&k;
C.char *a[3];
D.int b[10];int *a=b+1;
帮我解释一下 谢谢

D
A中,a指向数组p的首地址,一旦执行--操作就越界,跑到p的前面一个地址去了,非法的

B中,a仅仅指向一个单一变量(相当于一个元素的数组)的地址,更不能进行--操作了,一样是越界。

C中,a就是数组的首地址,情形跟A一样